export interface ShareInfo {
  id: number
  shareCode: string
  fileName: string
  originalName: string
  shareType: 'PUBLIC' | 'PASSWORD'
  password?: string
  allowDownload: boolean
  allowPreview: boolean
  expireTime?: string
  accessCount: number
  maxAccessCount?: number
  status: 'ACTIVE' | 'DISABLED' | 'EXPIRED'
  expired: boolean  // 是否已过期（计算字段）
  description?: string  // 分享备注
  createdAt: string
  updatedAt: string
}

export interface ShareStats {
  totalShares: number
  activeShares: number
  expiredShares: number
  totalAccess: number
  todayAccess: number
  downloadCount: number
  previewCount: number
}

export interface ShareFilter {
  keyword: string
  status: 'all' | 'active' | 'expired' | 'disabled'
  dateRange: [string, string] | null
}